package com.sky.business.sys.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.sky.business.sys.domain.CameraConfig;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

@Mapper
public interface CameraConfigMapper extends BaseMapper<CameraConfig> {

    /**
     * 查询所有最近有心跳的空闲设备
     * @param lastHeartbeat 心跳截止时间,最近一次心跳早于这个时间的设备被过滤掉
     * @return 空闲设备列表
     */
    List<CameraConfig> listIdleCamera(@Param("lastHeartbeat") Date lastHeartbeat);

    /**
     * 查询列表中处于空闲状态的所有设备
     * @param deviceIdList 设备id列表
     * @param lastHeartbeat 心跳截止时间,最近一次心跳早于这个时间的设备被过滤掉
     * @return 空闲设备列表
     */
    List<CameraConfig> listIdleByDeviceIn(@Param("deviceIdList")List<String> deviceIdList,@Param("lastHeartbeat") Date lastHeartbeat);
}
